/**登录流程说明
 * 1.收集表单数据
 * 2.前端验证
 *  1）验证用户信息（账号、密码）是否合法
 *  2）前端验证不通过就提示用户，不需要发送请求给后端
 *  3）前端验证通过，发送请求（携带账号、密码）给服务器端
 * 3.后端验证
 *  1）验证用户是否存在
 *  2）用户不存在直接返回，告诉前端用户不存在
 *  3）用户存在需要验证密码是否正确
 *  4）密码不正确返回给前端提示密码不正确
 *  5）密码正确返回给前端数据，提示用户登录成功（会携带用户的信息）
 */
import request from '../../utils/request';

Page({

  /**
   * 页面的初始数据
   */
  data: {
    phone:'',
    password:''
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  uploadPhone(even){
      // let type = even.currentTarget.id;  //通过currentTarget的id获取唯一标识
      let type = even.currentTarget.dataset.type  //通过currentTarget的dataset获取唯一标识,可以获取多个，通过data-key:'vlaue'设置dataset
      this.setData({
        [type]: even.detail.value
      })
  },
  /**验证手机号码和密码
    1.验证手机号码是否为空
    2.验证手机号码是否合法
    3.验证密码是否为空
  **/
  async login(){
    let{phone,password} =this.data;
    if (!phone) {
      wx.showToast({
        title: '手机号码不能为空',
        icon:'none'
      })
      return;
    };
    let phoneReg = /^1[3-9]\d{9}$/;
    if (!phoneReg.test(phone)) {
      wx.showToast({
        title: '手机号码格式错误',
        icon:'none'
      })
      return;
    };
    if (!password) {
      wx.showToast({
        title: '密码不能为空',
        icon:'none'
      })
      return;
    };

    let result = await request('/login/cellphone',{phone,password,isLogin: true})
    if (result.code === 200) {
      wx.showToast({
        title: '登录成功',
      })
      //将数据保存在本地
      wx.setStorageSync('userInfo', JSON.stringify(result.profile))
      //登录成功跳转到个人中心
      wx.reLaunch({
        url: '/pages/personal/personal',
      })


    }else if(result.code === 502){
      //密码错误
      wx.showToast({
        title: result.message,
        icon: 'none'
      })
    }else if(result.code === 501){
      //账号不存在
      wx.showToast({
        title: result.message,
        icon: 'none'
      })
    }else{
      wx.showToast({
        title: '登录失败，请重新登录',
        icon: 'none'
      })
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})